#ifndef __SUBSYSTEM_SNOW_BLOCK_BEHAVIOR_BASE_H__
#define __SUBSYSTEM_SNOW_BLOCK_BEHAVIOR_BASE_H__

#include "SubsystemBlockBehavior.hpp"

namespace PocketSurvival
{
    class SubsystemTerrain;

    class SubsystemSnowBlockBehavior : public SubsystemBlockBehavior
    {
    public:
        SubsystemTerrain *m_terrain;

    public:
        bool canSupportSnow(int32_t value);
        virtual void onNeighborBlockChanged(int32_t x, int32_t y, int32_t z, int32_t neighborX, int32_t neighborY, int32_t neighborZ) override;

    public:
        SubsystemSnowBlockBehavior();

        virtual void load(const nlohmann::json &json) override;
        virtual const std::string& getName() const override;
    };
}

#endif
